home *** CD-ROM | disk | FTP | other *** search
-
- MODULE 'dos/dos', 'dos/dosextens'
-
- PROC main()
-
- DEF drive_present=TRUE, reboot, delay,
- args:PTR TO LONG, rdargs, ret=0,
- drive_name[100]:ARRAY OF CHAR, dos_list:PTR TO doslist
-
- IF rdargs:=ReadArgs('DEVICE/A,REBOOT/S,DELAY/N', args:=[NIL, FALSE, 0]:LONG, NIL)
-
- AstrCopy(drive_name, args[0], 100)
- reboot:=(args[1]<>NIL)
-
- delay:=Long(args[2]); IF delay<0 THEN delay:=0; IF delay>20 THEN delay:=20
-
- FreeArgs(rdargs)
-
- IF (dos_list:=LockDosList(LDF_READ OR LDF_ALL))
-
- drive_present:=FindDosEntry(dos_list, drive_name, LDF_ALL)
-
- UnLockDosList(LDF_READ OR LDF_ALL)
-
- IF (drive_present=FALSE)
-
- IF reboot; Delay(delay * TICKS_PER_SECOND); ColdReboot()
- ELSE; ret:=5
- ENDIF
-
- ENDIF
-
- ENDIF
-
- ELSE
-
- WriteF('Bad/missing arguments. Type \aIfNoDrive ?\a for the command template.\n')
- ret:=20
-
- ENDIF
-
- ENDPROC ret
-
- CHAR '$VER: IfNoDrive 0.5 (13.8.97)\0'
-
-
-
-